var SIGN = ["I","V","X","L","C","D","M"]

function getSign(pos,value){
    if (value == 4) {
       return SIGN[pos]+SIGN[pos+1]
    } else if(value == 9) {
       return SIGN[pos]+SIGN[pos+2]
    }
    let res =""
    while (value>0) {
        if(value-5>=0){
            res += SIGN[pos+1]
            value -=5 
        } else {
            res += SIGN[pos]
            value --
        }
    }
    return res
}

function convertNum(value){
    if (value<=0){
        return ""
    }
    let pos = 0
    let num =value % 10
    value = parseInt(value/10)
    let res=""
    while (num > 0 || value > 0){
        res = getSign(pos,num) + res
        num = value % 10
        value = parseInt(value/10)
        pos += 2
    }
    return res
}

// 
// console.info(convertNum(748))//MXCIX
// console.info(convertNum(3469))//MMMCMXCIX
// 
// 
// console.info(getSign(0,0))
// console.info(getSign(0,1))
// console.info(getSign(0,2))
// console.info(getSign(0,3))
// console.info(getSign(0,4))
// console.info(getSign(0,5))
// console.info(getSign(0,6))
// console.info(getSign(0,7))
// console.info(getSign(0,8))
// console.info(getSign(0,9))
// console.info(getSign(2,0))
// console.info(getSign(2,1))
// console.info(getSign(2,2))
// console.info(getSign(2,3))
// console.info(getSign(2,4))
// console.info(getSign(2,5))
// console.info(getSign(2,6))
// console.info(getSign(2,7))
// console.info(getSign(2,8))
// console.info(getSign(2,9))
// console.info(getSign(4,0))
// console.info(getSign(4,1))
// console.info(getSign(4,2))
// console.info(getSign(4,3))
// console.info(getSign(4,4))
// console.info(getSign(4,5))
// console.info(getSign(4,6))
// console.info(getSign(4,7))
// console.info(getSign(4,8))
// console.info(getSign(4,9))

console.info(convertNum(12) )//XII
console.info(convertNum(100)) //C
console.info(convertNum(4  )) //IV
console.info(convertNum(3  )) //III
console.info(convertNum(10 )) //X
console.info(convertNum(99 )) //XCIX
console.info(convertNum(333)) //CCCXXXIII
console.info(convertNum(500)) //D
console.info(convertNum(494)) //CDXCIV
console.info(convertNum(807)) //DCCCVII
console.info(convertNum(1001) )//MI
console.info(convertNum(1905) )//MCMV
console.info(convertNum(2000) )//MM
console.info(convertNum(3444) )//MMMCDXLIV
console.info(convertNum(3198) )//MMMCXCVIII 
console.info(convertNum(3999) )//MMMCMXCIX